<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script>
      /* 
                主要用来排序
                sort()  
                    -sort用来对数组进行排序(会对改变原数组)
                    -sort默认会将数组生序排序
                        注意:sort默认很贵按照Unicode编码进行排序,所以如果直接通过sort对数字进行排序
                    可能会得到一个不正确的结果
                    -参数:
                    -可以传递一个回调函数作为参数,通过回调函数来制定排序规则
                        (a,b) => a - b  ture 因为布尔值只有1/0所以a-b <0 就会将其升序调转
                        (a,b) => b - a  ture 反之
            
                用来遍历数组
                forEach()
                    -用来遍历数组
                    -它需要一个回调函数作为参数,这个回调函数会被调用多次
                        数组中有几个元素,回调函数就会被调用几次
                        每次调用,都会将数组中的数组作为参数传递
                    -回调函数中有三个参数:
                        element 当前的元素
                        index 当前元素的索引
                        array 被遍历的数组
                
                用来过滤的,把复合条件的元素给他保存到一个新的数组中 
                filter()
                    -将数组中复合条件的元素保存到一个新数组中返回
                    -需要一个回调函数作为参数,会为每一个元素去调用回调函数,并根据返回值来决定是否将元素添加到新数组中
                    -非破坏性方法,不会影响原数组

                可以批量的更具当前数组生成一个的新的数组并修改
                map()
                    -更具当前数组生成一个新数组
                    -需要一个回调函数作为新数组
                        回调函数的返回值会成为新数组中的元素
                    -非破坏性的方法不会影响原数组

                对数组用来整合的
                reduce()
                    -可以用来将一个数组中的所有元素整合为一个值
                    -参数:
                        1.回调函数,通过回调函数来制定合并的规则
                        2.可选函数,初始值
        */

        arr = [1,2,3,4,5,6,7,8,9,10]
        let result = arr.sort()
        console.log(result);
        result = arr.sort((a,b) => a - b)
        console.log(result);
        
        arr.forEach((element,index,Array) => {
            console.log(element),
            console.log(index),
            console.log(Array)});
        
        result = arr.filter(ele => ele % 2 === 0)
        console.log(result);
        console.log(arr);

        result = arr.map(ele => "GG" + ele +"GG")
        console.log(result);

        result = arr.reduce((a,b,c) => a+b+c,10)
        console.log(result);
    </script>
  </head>
  <body></body>
</html>
